home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Sample Code / Sample Editors⁄Viewers / SamplePart (C) / Source / SamplePart.idl < prev    next >
Encoding:
Text File  |  1995-12-05  |  6.5 KB  |  293 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        SamplePart.idl
  3.  
  4.     Contains:    SamplePart object interface
  5.  
  6.     Written by:    Steve Smith
  7.  
  8.     Copyright:    © 1994,95 by Apple Computer, Inc., all rights reserved.
  9. */
  10.  
  11.  
  12. #ifndef _SAMPLEPART_
  13. #define _SAMPLEPART_
  14.  
  15. #ifndef _PART_
  16. #include "Part.idl"
  17. #endif 
  18.  
  19. #ifndef _SAMPLEPARTVERS_
  20. #include "SamplePartVers.h"
  21. #endif
  22.  
  23. //==============================================================================
  24. // Classes used by this interface
  25. //==============================================================================
  26.  
  27. interface  ODFocusSet;
  28. interface  ODMenuBar;
  29. interface  ODWindow;
  30. interface  ODFrame;
  31. interface  ODExtension;
  32.  
  33.  
  34. #ifdef __PRIVATE__
  35. //==============================================================================
  36. // Implementation Types
  37. //==============================================================================
  38.  
  39. typedef somToken PicHandle;
  40. typedef somToken WindowProperties;
  41.  
  42. #endif 
  43.  
  44.  
  45. //==============================================================================
  46. // SamplePart
  47. //==============================================================================
  48.  
  49. module SampleCode
  50. {
  51.  
  52. interface SamplePart : ODPart
  53. {
  54. #ifdef __PRIVATE__
  55.  
  56.     //# -- Initialization --
  57.     void                Initialize();
  58.     
  59.     //# -- Storage --
  60.     void                CheckAndAddProperties(in ODStorageUnit storageUnit);
  61.     void                CleanseContentProperty(in ODStorageUnit storageUnit);
  62.     void                InternalizeStateInfo(in ODStorageUnit storageUnit);
  63.     void                InternalizeContent(in ODStorageUnit storageUnit);
  64.     void                ExternalizeStateInfo(in ODStorageUnit storageUnit,
  65.                                 in ODDraftKey key, in ODFrame scopeFrame);
  66.     void                ExternalizeContent(in ODStorageUnit storageUnit,
  67.                                 in ODDraftKey key, in ODFrame scopeFrame);
  68.     void                SetDirty();
  69.     
  70.     //# -- Event Handling --
  71.     ODBoolean            HandleMenuEvent(in ODEventData event, in ODFrame frame);
  72.     ODBoolean            HandleMouseEvent(in ODEventData event, in ODFacet facet,
  73.                                 in ODEventInfo eventInfo);
  74.     void                DoMouseEvent(in ODFacet facet, in Point where);
  75.     void                DoDialogBox(in ODFrame frame, in ODSShort dialogID,
  76.                                 in ODUShort errorNumber);
  77.     
  78.     //# -- Imaging --
  79.     void                DrawFrameView(in ODFacet facet);
  80.     void                DrawIconView(in ODFacet facet);
  81.     void                DrawThumbnailView(in ODFacet facet);
  82.     PicHandle            GenerateThumbnail(in ODFrame frame);
  83.  
  84.     //# -- Activation --
  85.     void                PartActivated(in ODFrame frame);
  86.     ODBoolean            ActivateFrame(in ODFrame frame);
  87.     void                WindowActivating(in ODFrame frame, in ODBoolean activating);
  88.     void                RelinquishAllFoci( in ODFrame frame);
  89.     
  90.     //# -- Layout --
  91.     ODWindow            AcquireFramesWindow(in ODFrame frame);
  92.     ODWindow            CreateWindow(in ODFrame frame, in ODType frameType,
  93.                                 in WindowProperties* windowProperties);
  94.     void                CleanupWindow(in ODFrame frame);
  95.     WindowProperties*    GetDefaultWindowProperties(in ODFrame frame,
  96.                                 in Rect windowRect);
  97.     WindowProperties*    GetSavedWindowProperties(in ODFrame frame);
  98.     Rect                CalcPartWindowSize(in ODFrame sourceFrame);
  99.     Rect                CalcPartWindowPosition(in ODFrame frame,
  100.                                 inout Rect partWindowBounds);
  101.     ODFacet                GetActiveFacetForFrame(in ODFrame frame);
  102.     ODShape                CalcNewUsedShape(in ODFrame frame);
  103.     void                UpdateFrame(in ODFrame frame, in ODTypeToken view,
  104.                                 in ODShape usedShape);
  105.     void                CleanupDisplayFrame(in ODFrame frame,
  106.                                 in ODBoolean frameRemoved);
  107.     void                ZoomPartWindow(in ODFrame frame, in ODWindow window,
  108.                                 in ODBoolean openingWindow);
  109.  
  110. #endif  // __PRIVATE__
  111.  
  112. #ifdef __SOMIDL__
  113.       implementation
  114.     {
  115.         majorversion = somClassMajorVersion;
  116.         minorversion = somClassMinorVersion;
  117.     
  118.         functionprefix = SamplePart__;
  119.         override:
  120.             //# ODObject methods
  121.             somInit,
  122.             somUninit,
  123.             AcquireExtension,
  124.             HasExtension,
  125.             Purge,
  126.             ReleaseExtension,
  127.             
  128.             //# ODRefCountedObject methods
  129.             Release,
  130.             
  131.             //# ODPersistentObject methods.
  132.             CloneInto,
  133.             Externalize,
  134.             ReleaseAll,
  135.             
  136.             //# ODPart methods
  137.             AbortRelinquishFocus,
  138.             AcquireContainingPartProperties,
  139.             AdjustBorderShape,
  140.             AdjustMenus,
  141.             AttachSourceFrame,
  142.             BeginRelinquishFocus,
  143.             CanvasChanged,
  144.             CanvasUpdated,
  145.             ChangeKind,
  146.             ClonePartInfo,
  147.             CommitRelinquishFocus,
  148.             ContainingPartPropertiesUpdated,
  149.             CreateEmbeddedFramesIterator,
  150.             CreateLink,
  151.             DisplayFrameAdded,
  152.             DisplayFrameClosed,
  153.             DisplayFrameConnected,
  154.             DisplayFrameRemoved,
  155.             DisposeActionState,
  156.             DragEnter,
  157.             DragLeave,
  158.             DragWithin,
  159.             Draw,
  160.             Drop,
  161.             DropCompleted,
  162.             EditInLinkAttempted,
  163.             EmbeddedFrameUpdated,
  164.             EmbeddedFrameSpec,
  165.             ExternalizeKinds,
  166.             FacetAdded,
  167.             FacetRemoved,
  168.             FocusAcquired,
  169.             FocusLost,
  170.             FrameShapeChanged,
  171.             FulfillPromise,
  172.             GeometryChanged,
  173.             GetPrintResolution,
  174.             HandleEvent,
  175.             HighlightChanged,
  176.             InitPart,
  177.             InitPartFromStorage,
  178.             LinkStatusChanged,
  179.             LinkUpdated,
  180.             Open,
  181.             PresentationChanged,
  182. #ifndef _PLATFORM_MACINTOSH_
  183.             ReadActionState,    //# Mac doesn't support persistent undo
  184. #endif
  185.             ReadPartInfo,
  186.             RedoAction,
  187.             RemoveEmbeddedFrame,
  188.             RequestEmbeddedFrame,
  189.             RequestFrameShape,
  190.             RevealFrame,
  191.             RevealLink,
  192.             SequenceChanged,
  193.             UndoAction,
  194.             UsedShapeChanged,
  195.             ViewTypeChanged,
  196. #ifndef _PLATFORM_MACINTOSH_
  197.             WriteActionState,    //# Mac doesn't support persistent undo
  198. #endif
  199.             WritePartInfo;
  200.     
  201.         releaseorder:
  202. #ifdef __PRIVATE__
  203.             Initialize,
  204.             CheckAndAddProperties,
  205.             CleanseContentProperty,
  206.             InternalizeStateInfo,
  207.             InternalizeContent,
  208.             ExternalizeStateInfo,
  209.             ExternalizeContent,
  210.             SetDirty,
  211.             HandleMenuEvent,
  212.             HandleMouseEvent,
  213.             DoMouseEvent,
  214.             DoDialogBox,
  215.             DrawFrameView,
  216.             DrawIconView,
  217.             DrawThumbnailView,
  218.             GenerateThumbnail,
  219.             PartActivated,
  220.             ActivateFrame,
  221.             WindowActivating,
  222.             RelinquishAllFoci,
  223.             AcquireFramesWindow,
  224.             CreateWindow,
  225.             CleanupWindow,
  226.             GetDefaultWindowProperties,
  227.             GetSavedWindowProperties,
  228.             CalcPartWindowSize,
  229.             CalcPartWindowPosition,
  230.             GetActiveFacetForFrame,
  231.             CalcNewUsedShape,
  232.             UpdateFrame,
  233.             CleanupDisplayFrame,
  234.             ZoomPartWindow;
  235. #else
  236.     
  237.             reserved1,
  238.             reserved2,
  239.             reserved3,
  240.             reserved4,
  241.             reserved5,
  242.             reserved6,
  243.             reserved7,
  244.             reserved8,
  245.             reserved9,
  246.             reserved10,
  247.             reserved11,
  248.             reserved12,
  249.             reserved13,
  250.             reserved14,
  251.             reserved15,
  252.             reserved16,
  253.             reserved17,
  254.             reserved18,
  255.             reserved19,
  256.             reserved20,
  257.             reserved21,
  258.             reserved22,
  259.             reserved23,
  260.             reserved24,
  261.             reserved25,
  262.             reserved26,
  263.             reserved27,
  264.             reserved28,
  265.             reserved29,
  266.             reserved30,
  267.             reserved31,
  268.             reserved32;
  269.     
  270. #endif  // __PRIVATE__
  271.     
  272.         passthru C_h =
  273.         "typedef struct WindowProperties WindowProperties;";
  274.     
  275. #ifdef __PRIVATE__
  276.         
  277.             ODPtr                    fDisplayFrames;
  278.             ODPart                    fSelf;
  279.             ODBoolean                fDirty;
  280.             ODBoolean                fReadOnlyStorage;
  281.             
  282. #endif // __PRIVATE__
  283.     
  284.   };
  285.   
  286. #endif    // __SOMIDL__
  287.  
  288.  };
  289. };
  290.  
  291. #endif    // _SAMPLEPART_
  292.  
  293.